<?php

namespace app\admin\model;

use think\Model;

class Users extends Model
{
    // 表名
    protected $name = 'users';
    
    // 自动写入时间戳字段
    protected $autoWriteTimestamp = false;

    // 定义时间戳字段名
    protected $createTime = false;
    protected $updateTime = false;
    
    // 追加属性
    protected $append = [
        'user_reg_time_text',
        'status_text'
    ];
    
        /**
     * 根据 openid 获取信息
     *
     * @param   string $openid 
     * @param   string $info  获取字段
     * @return  string 字段值
     */
    public function oidinfo($openid,$info)
    {
        $res = $this->where('openid',$openid)->find();
        if($res){
            return $res->$info;
        }else{
            return 0;
        }
    }
    /**
     * 获取用户级别
     * 
     * @param int uid
     * 
     * @return int  1,2,3  级别    0 普通用户
     */
    public function getLevel($uid)
    {
        $res =  self::get($uid)->user_parentid;
        //一级代理
        if($res == 1) return 1;
        //普通用户
        if($res == 0) return 0;
        
        $res1 = self::get($res)->user_parentid;
        //二级用户
        if($res1 == 1){
            return 2;
        }else{
            return 3;
        }
      

    }
    /**
     * 
     *  获取上级信息
     * 
     * @param int 用户id 
     * 
     * @param string 返回字段默认为 上级用户id
     * 
    
     */
    public function getPid($uid,$val = 'user_parentid' ){
        $res = $this->find($uid);
        return $res->$val;
    }
    //增加金额
    public function addMoney($money,$uid)
    {
        return $this->save(['money'=>$money],['user_id'=>$uid]);
    }
    public function tixian()
    {
        return $this->hasMany('Tixian','uid');
    }
    public function getStatusList()
    {
        return ['ok' => __('Ok'),'no' => __('No')];
    }     
    public function getIsDailiAttr($value)
    {
        return $value == 'false' ? '非代理' :'代理'; 
    }     
    public function getStatusAttr($value)
    {
        return $value == 'no' ? '封禁' :'正常'; 
    }     


    public function getUserRegTimeTextAttr($value, $data)
    {   
     
        $value = $value ? $value : $data['user_reg_time'];
        return is_numeric($value) ? date("Y-m-d H:i:s", $value) : $value;
    }


    public function getStatusTextAttr($value, $data)
    {        
        // $value = $value ? $value : $data['status'];
        $list = $this->getStatusList();
        return $value;
        return isset($list[$value]) ? $list[$value] : '';
    }

    protected function setUserRegTimeAttr($value)
    {   
        
        return $value && !is_numeric($value) ? strtotime($value) : $value;
    }
    public function getUserParentidAttr($value, $data)
    {   
        // if($value == 0 ){
        //     return '无上级';
        // }else{
        //     $value = $this->get($value);
        //     if(empty($value)){
        //         return '不存在';
        //     }
        //     $value = $value->user_name;
     
            return $value ;
        // }
       
  
    }
    public function setUserPwdAttr($value){
        if(strlen($value) == 32){
           return $value;
        }else{
            return md5($value);
        }

        
    }
    public function getUserRegTimeAttr($value, $data)
    {   
        if(date('Y-m-d H:i:s',$value)){return date('Y-m-d H:i:s',$value);};
        return '时间错误';
  
    }

    public function getDaili($uid){
        return self::where(['user_parentid'=>$uid,'is_daili'=>false])->select();
    }  



}
